package cn.getech.data.development.service;

import cn.getech.data.development.entity.BdpVersion;
import cn.getech.data.development.entity.JobNodeConf;
import cn.getech.data.development.entity.JobNodeConfig;
import cn.getech.data.development.model.dto.BdpAddVersionDto;
import cn.getech.data.development.model.dto.DataManagerQualityRulesRelDto;
import cn.getech.data.development.model.dto.ProcRelDto;
import cn.getech.data.development.model.dto.ProcRelStrDto;
import cn.getech.data.development.model.qo.BdpVersionQO;
import cn.getech.data.intelligence.common.utils.PageUtils;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 打包的版本 服务类
 * </p>
 *
 * @author hujz
 * @since 2020-06-30
 */
public interface IBdpVersionService extends IService<BdpVersion> {

    PageUtils page(BdpVersionQO versionQO);

    void deleteById(Long id);

    void add(BdpAddVersionDto bdpAddVersionDto);

    BdpVersion copyVersion(BdpAddVersionDto bdpAddVersionDto);

    BdpAddVersionDto view(Long id);

    ProcRelDto resourceList(Long procId);

    JobNodeConfig listJobNodeConfigList(List<JobNodeConf> jobNodeConfs, Integer type);

    void downZipVersion(Long versionId, HttpServletResponse response, HttpServletRequest request) throws Exception;

    ProcRelStrDto olderresourceList(Long versionId);

    List<DataManagerQualityRulesRelDto> listRulesRelDtos(String baseReqUrl);

    JobNodeConfig cronConfig(List<JobNodeConf> jobNodeConfs);
}
